//
//  MainViewController.swift
//  HMWeibo06
//
//  Created by apple on 15/5/10.
//  Copyright (c) 2015年 heima. All rights reserved.
//

import UIKit

/**
    tabBarController:   控制器，用来编写代码，切换控制器的
    tabBar:             大条
    tabBarItem:         小项目
    tabBarButton:       Item内部的按钮
*/
class MainViewController: UITabBarController {

    @IBOutlet weak var mainTabBar: MainTabBar!
    
    override func viewDidLoad() {
        super.viewDidLoad()

        // 添加子视图控制器
        addChildViewControllers()
        
        // 直接给撰写按钮添加监听方法
        mainTabBar.composedButton.addTarget(self, action: "clickCompose", forControlEvents: UIControlEvents.TouchUpInside)
    }
    
    /// 撰写按钮监听方法 - 因为 OC 的消息机制，所以按钮监听方法不能够使用 private
    func clickCompose() {
        println("\(__FUNCTION__)")
    }

    /// 添加所有的子视图控制器
    private func addChildViewControllers() {
        // 设置文字的渲染颜色
//        tabBar.tintColor = UIColor.orangeColor()
        
        addChildViewController("Home", "首页", "tabbar_home")
        addChildViewController("Message", "消息", "tabbar_message_center")
        addChildViewController("Discover", "发现", "tabbar_discover")
        addChildViewController("Profile", "我", "tabbar_profile")
    }
    
    /// swift 中允许函数的重载，函数名相同，参数的个数及类型不同
    private func addChildViewController(sbName: String, _ title: String, _ imageName: String) {
        let nav = UIStoryboard.initialViewController(sbName) as! UINavigationController
        
        nav.topViewController.title = title
        nav.tabBarItem.image = UIImage(named: imageName)
        nav.tabBarItem.selectedImage = UIImage(named: imageName + "_highlighted")
        
        addChildViewController(nav)
    }
}
